package app.modules.infrastructure.notification.facade;

import app.modules.infrastructure.notification.support.NotificationData;
import app.modules.infrastructure.notification.support.NotificationOption;
import app.modules.infrastructure.notification.support.NotificationResult;

import javax.annotation.Nullable;

/**
 * @author mh.z
 */
public interface NotificationFacade {

    /**
     * 发送通知
     *
     * @param category
     * @param data
     * @return
     */
    NotificationResult sendNotification(String category, NotificationData data);

    /**
     * 发送通知
     *
     * @param category
     * @param data
     * @param option
     * @return
     */
    NotificationResult sendNotification(String category, NotificationData data,
                                        @Nullable NotificationOption option);
}
